Data Compression হল একটি প্রক্রিয়া যার মাধ্যমে ডেটার আকার ছোট করা হয়, যাতে নেটওয়ার্কের মাধ্যমে দ্রুত এবং কম ব্যান্ডউইথে ডেটা পাঠানো সম্ভব হয়। Gzip (GNU Zip) হল একটি জনপ্রিয় কম্প্রেশন ফর্ম্যাট যা ডেটা কম্প্রেস এবং ডি-কম্প্রেস করার জন্য ব্যবহৃত হয়। ASP.Net অ্যাপ্লিকেশনগুলোতে Gzip কম্প্রেশন ব্যবহার করে ডেটা প্রেরণ করলে ওয়েব পেজের লোড টাইম কমে এবং সার্ভার ও ক্লায়েন্টের মধ্যে ডেটা ট্রান্সফারের জন্য ব্যান্ডউইথ সাশ্রয় হয়।
ASP.Net এবং ASP.Net Core অ্যাপ্লিকেশনগুলিতে Gzip কম্প্রেশন সক্রিয় করা সহজ, এবং এটি সাধারণত HTTP রেসপন্সের ক্ষেত্রে ব্যবহৃত হয়।
ASP.Net Core অ্যাপ্লিকেশনগুলোতে Gzip কম্প্রেশন সক্রিয় করা Middleware ব্যবহার করে করা হয়। Microsoft.AspNetCore.ResponseCompression প্যাকেজটি Gzip কম্প্রেশন সক্ষম করতে সহায়তা করে।
প্রথমে, Microsoft.AspNetCore.ResponseCompression প্যাকেজটি ইনস্টল করতে হবে:
dotnet add package Microsoft.AspNetCore.ResponseCompression
ConfigureServices
মেথডে AddResponseCompression মেথড ব্যবহার করে Gzip কম্প্রেশন সক্ষম করুন।
public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCompression(options =>
{
options.EnableForHttps = true; // HTTPS রিকোয়েস্টের জন্য কম্প্রেশন সক্রিয় করা
options.Providers.Add<GzipCompressionProvider>(); // Gzip কম্প্রেশন প্রোভাইডার যোগ করা
});
}
এরপর, Configure মেথডে UseResponseCompression মেথড ব্যবহার করে Gzip কম্প্রেশন Middleware যুক্ত করতে হবে।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseResponseCompression(); // Gzip কম্প্রেশন সক্রিয় করা
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
}
এখানে:
EnableForHttps অপশনটি HTTPS রিকোয়েস্টের জন্য কম্প্রেশন সক্রিয় করে। আপনি চাইলে অন্য কম্প্রেশন প্রোভাইডার (যেমন Brotli) যোগ করতে পারেন।
options.Providers.Add<BrotliCompressionProvider>(); // Brotli প্রোভাইডার যোগ করা
ASP.Net MVC বা Web API তে Gzip কম্প্রেশন সিস্টেম লেভেলে বা অ্যাপ্লিকেশন লেভেলে কনফিগার করা যেতে পারে। HTTP Compression এর মাধ্যমে Gzip সক্রিয় করার জন্য, আপনাকে Web.config ফাইলে কনফিগারেশন করতে হবে।
Web.config ফাইলে নিচের মতো কনফিগারেশন ব্যবহার করা যেতে পারে:
<configuration>
<system.webServer>
<httpCompression>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/xml" enabled="true" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/css" enabled="true" />
<add mimeType="text/html" enabled="true" />
<add mimeType="application/xhtml+xml" enabled="true" />
</staticTypes>
</httpCompression>
<urlCompression doDynamicCompression="true" doStaticCompression="true" />
</system.webServer>
</configuration>
এখানে:
ASP.Net তে Gzip কম্প্রেশন সাধারণত IIS (Internet Information Services) ব্যবহার করে সার্ভারে এনাবল করা হয়। IIS সিস্টেমে কম্প্রেশন চালু করতে IIS Manager থেকে কম্প্রেশন সেটিংস কনফিগার করতে হবে।
ASP.Net Core এবং ASP.Net অ্যাপ্লিকেশনগুলিতে Gzip কম্প্রেশন ব্যবহার করে সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটার আদান-প্রদান দ্রুত এবং ব্যান্ডউইথ সাশ্রয়ী করা যায়। ASP.Net Core তে সহজেই Gzip সক্রিয় করা যায় ResponseCompression
Middleware ব্যবহার করে, এবং ASP.Net MVC/Web API তে Web.config ফাইলের মাধ্যমে এটি কনফিগার করা হয়। Gzip কম্প্রেশন ওয়েব অ্যাপ্লিকেশনের পারফরম্যান্স বাড়াতে সাহায্য করে।
Read more